/*****************************************************************************
 *
 * Copyright (c), 2004-2020,ShangHai Neotune Information Technology Co., Ltd.
 *
 * Module Name : objectid.h
 *
 * Author :    sean
 *
 * Date :    2004-02-05
 *
 * Version :    1.00
 *
 * Description :    
 *
 * Other :    
 *
 * Data Structure List: <Main Data Structure>
 *
 * Modification History
 * ---------------------------------------------------------------------------
 *  1: Data :      2004-02-05
 *    Author :     sean
 *    Version :    V100R001M00
 *    Modification : creation
 *
*****************************************************************************/

#if (!defined(objectid_inc))
#define objectid_inc

#ifdef __cplusplus
extern"C" {
#endif

#if (!defined(asn1_inc))
#include <asn1.h>
#endif

#define clone_object_id(O, N) build_object_id(  \
                                ((OBJ_ID_T *)(O))->num_components,      \
                                ((OBJ_ID_T *)(O))->component_list, N)

#define init_object_id(O) ((OBJ_ID_T *)(O))->num_components = 0; \
                          ((OBJ_ID_T *)(O))->component_list = 0;

#define copy_object_id(O, N) \
(((OBJ_ID_T *)(N))->num_components = ((OBJ_ID_T *)(O))->num_components, \
 ((OBJ_ID_T *)(N))->component_list = ((OBJ_ID_T *)(O))->component_list)

extern  int             build_object_id __((int, OIDC_T *, OBJ_ID_T *));
extern  int             Clean_Obj_ID    __((OBJ_ID_T *));

#ifdef __cplusplus
}
#endif

#endif  /* objectid_inc */
